package com.wtwd.campus.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wtwd.campus.entity.SysRole;
import com.wtwd.campus.model.vo.ResultVO;
import com.wtwd.campus.model.vo.SysRoleVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zdl
 * @since 2021-06-17
 */
public interface SysRoleService {
    /**
     * 分页查询角色
     * @param page
     * @param sysRole
     * @return
     */
    IPage<SysRoleVO> queryPage(Page<SysRoleVO> page, SysRole sysRole);

    /**
     * 保存角色
     * @param sysRole
     * @return
     */
    int save(SysRole sysRole);

    /**
     * 保存角色
     * @param sysRole
     * @return
     */
    int updateById(SysRole sysRole);

    /**
     * 删除角色通过Id
     * @param id
     * @return
     */
    ResultVO deleteById(Integer id);

    /**
     * 创建角色及权限
     * @param sysRole
     * @param permissions
     */
   ResultVO createRole(SysRole sysRole,String permissions);

    /**
     * 更新角色及权限
     * @param sysRole
     * @param permissions
     * @return
     */
   ResultVO updateRole(SysRole sysRole,String permissions);

    /**
     * 保存角色权限
     * @param roleId
     * @param permissions
     * @return
     */
   ResultVO saveRolePermissionBatch(Integer roleId,String permissions);

    /**
     * 获取角色权限id通过角色ID
     * @param roleId
     * @return
     */
   List<Integer> getRolePermissionIdsByRoleId(Integer roleId);

    /**
     * 获取角色列表通过组织ID
     * @param orgId
     * @return
     */
   List<SysRole> getRoleListByOrgId(Integer orgId);
 }
